package IMIC.NGUYENVANDOAN.SWINGDEMO;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;

public class frmLogin extends JFrame {

    private final JPanel contentPane;
    private final JTextField txtTenTruyCap;
    private final JPasswordField txtMatKhau;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    frmLogin frame = new frmLogin();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public frmLogin() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 497, 206);
        contentPane = new JPanel();
        contentPane.setBorder(new TitledBorder(null, "CH\u01AF\u01A0NG TR\u00CCNH \u0110\u0102NG NH\u1EACP",
                TitledBorder.LEADING, TitledBorder.TOP, null, Color.RED));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JLabel lblNewLabel = new JLabel("Vui lòng nhập đầy đủ thông tin:");
        lblNewLabel.setFont(new Font("Cambria", Font.PLAIN, 14));
        lblNewLabel.setBounds(10, 22, 422, 14);
        contentPane.add(lblNewLabel);

        txtTenTruyCap = new JTextField();
        txtTenTruyCap.setBackground(Color.ORANGE);
        txtTenTruyCap.setFont(new Font("Cambria", Font.PLAIN, 14));
        txtTenTruyCap.setBounds(96, 52, 375, 20);
        contentPane.add(txtTenTruyCap);
        txtTenTruyCap.setColumns(10);

        JButton btnThoat = new JButton("Thoát");
        btnThoat.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {

            }
        });
        btnThoat.setForeground(new Color(255, 255, 255));
        btnThoat.setBackground(new Color(0, 128, 0));
        btnThoat.setFont(new Font("Cambria", Font.PLAIN, 14));
        btnThoat.setBounds(366, 123, 105, 32);
        contentPane.add(btnThoat);

        txtMatKhau = new JPasswordField();
        txtMatKhau.setBackground(SystemColor.textHighlight);
        txtMatKhau.setFont(new Font("Cambria", Font.PLAIN, 14));
        txtMatKhau.setBounds(96, 92, 375, 20);
        contentPane.add(txtMatKhau);

        JLabel lblTnTruyCp = new JLabel("Tên truy cập:");
        lblTnTruyCp.setFont(new Font("Cambria", Font.PLAIN, 14));
        lblTnTruyCp.setBounds(10, 55, 86, 14);
        contentPane.add(lblTnTruyCp);

        JLabel lblMtKhu = new JLabel("Mật khẩu :");
        lblMtKhu.setFont(new Font("Cambria", Font.PLAIN, 14));
        lblMtKhu.setBounds(10, 95, 86, 14);
        contentPane.add(lblMtKhu);

        JButton btnDangNhap = new JButton("Đăng Nhập");
        btnDangNhap.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                // 1. Kiểm tra trạng thái các điều khiển
                if (txtTenTruyCap.getText().isEmpty()) {
                    JOptionPane.showMessageDialog(getParent(), "Bạn cần nhập vào tên truy cập!");
                } else if (txtMatKhau.getText().isEmpty()) {
                    JOptionPane.showMessageDialog(getParent(), "Bạn cần nhập vào mật khẩu!");
                } else {
                    // 2. Khai báo & khởi tạo Controllers
                    Controllers objController = new Controllers();

                    // 3. Ủy quyền thực thi nghiệp vụ kiểm tra thôngtin
                    UserEntity objUser = new UserEntity();
                    objUser.setUserName(txtTenTruyCap.getText());

                    objUser.setPassWord(txtMatKhau.getText());
                    if (objController.CheckUsers(objUser)) {
                        JOptionPane.showMessageDialog(getParent(), "Chúc mừng chuyên gia :D");
                    } else {
                        JOptionPane.showMessageDialog(getParent(), "Rất tiệc cho chuyên gia :<");
                    }
                }
            }
        });
        btnDangNhap.setForeground(new Color(255, 255, 255));
        btnDangNhap.setBackground(new Color(255, 0, 0));
        btnDangNhap.setFont(new Font("Cambria", Font.PLAIN, 14));
        btnDangNhap.setBounds(260, 123, 105, 32);
        contentPane.add(btnDangNhap);
    }
}
